package com.mdd.product.service;

import com.mdd.product.validate.ProductPropertyCreateValidate;
import com.mdd.product.validate.ProductPropertyUpdateValidate;
import com.mdd.product.vo.ProductPropertyDetailVo;
import java.util.List;
import java.util.Set;

/**
 * 商品属性项服务接口类
 * @author LikeAdmin
 */
public interface IProductPropertyService {

    /**
     * 商品属性项列表
     *
     * @author LikeAdmin
     * @return PageResult<ProductPropertyListedVo>
     */
    List<ProductPropertyDetailVo> list(Long spuId);

    /**
     * 商品属性项详情
     *
     * @author LikeAdmin
     * @param id 主键ID
     * @return OmsProductPropertyDetailVo
     */
    ProductPropertyDetailVo detail(Long id);

    /**
     * 商品属性项新增
     *
     * @author LikeAdmin
     * @param createValidate 参数
     */
    Long add(ProductPropertyCreateValidate createValidate);

    /**
     * 商品属性项编辑
     *
     * @author LikeAdmin
     * @param updateValidate 参数
     */
    void edit(ProductPropertyUpdateValidate updateValidate);

    /**
     * 商品属性项删除
     *
     * @author LikeAdmin
     * @param id 主键ID
     */
    void del(Long id);
    void delIds(List id);

    /**
     * 获取被删除掉的id集合
     *
     * @param spuId
     * @param ids
     * @return
     */
    List<Object> listDeletedIds(Long spuId, Set<Long> ids);

}
